﻿#pragma once
#include "DefInfo/GameInfo.h"

enum GroupRoleType
{
	GRT_None = 0,	// 无
	GRT_Tank = 1,	// 
	GRT_Healer = 2,	//	
	GRT_Damager = 3,// 
};

// team and raid
struct Team_Raid_Info
{
public:
	Team_Raid_Info();
	~Team_Raid_Info();

	int index = 0;
	int isRaidOrParty = 0;
	int UnitIsTarget;
	int player_hp = 0;
	int player_hp_max = 0;
	int can_assist = 0;
	int can_attack = 0;
	int is_dead_or_ghost = -1;
	int unit_role = -1;
	int x1 = 0;
	int y1 = 0;
	int aura_count = 0;
	vec_aura buffs;
	vec_aura debuffs;
	map_aura map_buff_;
	map_aura map_debuff_;
	std::string target_name;
	void aura_buffs_to_map();
	int GetExpectHealValue();
	std::string GetName();
	void MakeTargetName();
	BuffOrDebuff buff(SpellID id);
	BuffOrDebuff debuff(SpellID id);
	double LostHpPecent();
	double HpPecent();
	bool IsDeadOrGhost();
	GroupRoleType GetUnitRole();
	double GetDistance();
};

